export interface MenuInfoRes {
  /* */
  id: number

  /* */
  parentId: number

  /* */
  name: string

  /* */
  type: number

  /* */
  path: string

  /* */
  title: string

  /* */
  redirect: string

  /* */
  component: string

  /* */
  perm: string

  /* */
  visible: boolean

  /* */
  sort: number

  /* */
  icon: string

  /* */
  keepAlive: boolean

  /* */
  defaultMenu: boolean

  /* */
  closeTab: boolean

  /* */
  createTime: string

  /* */
  updateTime: string
  children: MenuInfoRes[]
}

export interface MenuPageRes {
  list: MenuInfoRes[]
  total: number
}

export interface MenuInfoPageParams {
  pageNum: number
  pageSize: number
  keywords?: string
  visible?: boolean
}

export interface MenuInfoParams {
  id?: number
  parentId: number
  name: string
  type: number
  path: string
  component: string
  perm: string
  title: string
  visible: boolean
  sort: number
  icon: string
  redirect: string
  keepAlive: boolean
  defaultMenu: boolean
  closeTab: boolean
}

export interface RoutesRes {
  id: number
  parentI: number
  name: string
  path: string
  meta: {
    title: string
    perm: string
    visible: boolean
    icon: string
    keepAlive: boolean
    defaultMenu: boolean
    closeTab: boolean
  }
  redirect: string
  component: string
  children: RoutesRes[]
}
